﻿using Alkitab.Language;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO.IsolatedStorage;
using System.Threading;

namespace Alkitab
{
    public static class Globals
    {
        public static IsolatedStorageSettings Settingan = IsolatedStorageSettings.ApplicationSettings;

        public static ObservableCollection<AyatFull> bookmarks = new ObservableCollection<AyatFull>();
        public static ObservableCollection<AyatFull> history = new ObservableCollection<AyatFull>();

        public static List<string> daftarBukuA = new List<string>();
        public static List<string> daftarBukuN = new List<string>();

        public static List<string> languageFile = new List<string>();

        public static bool terjemahanlamakah;

        public static List<string> daftarPasalOld = new List<string>();
        public static List<string> daftarPasalNew = new List<string>();

        public static int searchlimit;

        public static int nobuku;
        public static int nopasal;
        public static int noayat;

        public static int nobukusblmnya;
        public static int nopasalsblmnya;
        public static bool terjemahansblmnya;

        public static bool stopupdatinghistory;
        public static bool dunnawhhattonameit;
        public static String versiKitab;

        public static void changeLanguageK(int i)
        {
            Globals.Settingan["languagek?"] = i;

            if (i == 1)
            {
                Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("id");
                Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("id");
                ResetResources();
            }
            else
            {
                if (i == 2)
                {
                    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en");
                    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");
                    ResetResources();
                }
                else
                {
                    Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("de");
                    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("de");
                    ResetResources();
                }
            }
        }

        public static void generateBooks()
        {
            List<string> daftarBukuAX = new List<string>();
            daftarBukuAX.Add(Labels.book1);
            daftarBukuAX.Add(Labels.book2);
            daftarBukuAX.Add(Labels.book3);
            daftarBukuAX.Add(Labels.book4);
            daftarBukuAX.Add(Labels.book5);
            daftarBukuAX.Add(Labels.book6);
            daftarBukuAX.Add(Labels.book7);
            daftarBukuAX.Add(Labels.book8);
            daftarBukuAX.Add(Labels.book9);
            daftarBukuAX.Add(Labels.book10);
            daftarBukuAX.Add(Labels.book11);
            daftarBukuAX.Add(Labels.book12);
            daftarBukuAX.Add(Labels.book13);
            daftarBukuAX.Add(Labels.book14);
            daftarBukuAX.Add(Labels.book15);
            daftarBukuAX.Add(Labels.book16);
            daftarBukuAX.Add(Labels.book17);
            daftarBukuAX.Add(Labels.book18);
            daftarBukuAX.Add(Labels.book19);
            daftarBukuAX.Add(Labels.book20);
            daftarBukuAX.Add(Labels.book21);
            daftarBukuAX.Add(Labels.book22);
            daftarBukuAX.Add(Labels.book23);
            daftarBukuAX.Add(Labels.book24);
            daftarBukuAX.Add(Labels.book25);
            daftarBukuAX.Add(Labels.book26);
            daftarBukuAX.Add(Labels.book27);
            daftarBukuAX.Add(Labels.book28);
            daftarBukuAX.Add(Labels.book29);
            daftarBukuAX.Add(Labels.book30);
            daftarBukuAX.Add(Labels.book31);
            daftarBukuAX.Add(Labels.book32);
            daftarBukuAX.Add(Labels.book33);
            daftarBukuAX.Add(Labels.book34);
            daftarBukuAX.Add(Labels.book35);
            daftarBukuAX.Add(Labels.book36);
            daftarBukuAX.Add(Labels.book37);
            daftarBukuAX.Add(Labels.book38);
            daftarBukuAX.Add(Labels.book39);
            List<string> daftarBukuNX = new List<string>();
            daftarBukuNX.Add(Labels.book40);
            daftarBukuNX.Add(Labels.book41);
            daftarBukuNX.Add(Labels.book42);
            daftarBukuNX.Add(Labels.book43);
            daftarBukuNX.Add(Labels.book44);
            daftarBukuNX.Add(Labels.book45);
            daftarBukuNX.Add(Labels.book46);
            daftarBukuNX.Add(Labels.book47);
            daftarBukuNX.Add(Labels.book48);
            daftarBukuNX.Add(Labels.book49);
            daftarBukuNX.Add(Labels.book50);
            daftarBukuNX.Add(Labels.book51);
            daftarBukuNX.Add(Labels.book52);
            daftarBukuNX.Add(Labels.book53);
            daftarBukuNX.Add(Labels.book54);
            daftarBukuNX.Add(Labels.book55);
            daftarBukuNX.Add(Labels.book56);
            daftarBukuNX.Add(Labels.book57);
            daftarBukuNX.Add(Labels.book58);
            daftarBukuNX.Add(Labels.book59);
            daftarBukuNX.Add(Labels.book60);
            daftarBukuNX.Add(Labels.book61);
            daftarBukuNX.Add(Labels.book62);
            daftarBukuNX.Add(Labels.book63);
            daftarBukuNX.Add(Labels.book64);
            daftarBukuNX.Add(Labels.book65);
            daftarBukuNX.Add(Labels.book66);
            Globals.daftarBukuA = daftarBukuAX;
            Globals.daftarBukuN = daftarBukuNX;
        }

        private static void ResetResources()
        {
            ((LabelsManager)App.Current.Resources["LabelsManager"]).ResetResources();
            generateBooks();
        }
    }
}